import 自动测试
from 工程.DT126.DT126_2D功放模块.项目公用库.公共函数 import *
    
def 压缩1dB点测试初始化():
    信号源1.打开接口()
    频谱仪1.打开接口()
    # 射频矩阵1.连接()
    延时(1)
    产品初始化()
    信号源1.设置调制关()
    信号源1.设置射频开()
    频谱仪1.设置频率起点(399.990e6)
    频谱仪1.设置频率终点(400.010e6)
    频谱仪1.设置分析带宽自动()
    频谱仪1.设置视频带宽自动()
    频谱仪1.设置自动衰减()
    频谱仪1.设置扫宽(2000)
    频谱仪1.设置开触发()
    print("压缩1dB点测试初始化")
    
def 压缩1dB点(通道="XS2",频点=108):
    频率=频点*1000000
    通道值 = {'XS2': 0, 'XS5': 1}[通道]
    if 通道值 == 0:
        if zbb参数.上一次测试项目 != "压缩1dB点":
            zbb工步.三选框("压缩1dB点提示", ""
                                   "1、28V电源               设置  输出=ON；\r\n"
                                   "2、接收输出端口（XS2）    连接  INput 50Ω端口；\r\n"
                                   "3、发射输出端口（XS9）    连接  探头端口；\r\n",
                      "", "确定", "")
            zbb参数.上一次测试项目 = "压缩1dB点"
        zbb工步.设置增益通道(通道=1, 增益频率=156)
        zbb工步.设置增益通道(通道=通道值, 增益频率=108)
    else:
        if zbb参数.上一次测试项目 != "压缩1dB点":
            zbb工步.三选框("压缩1dB点提示", ""
                                   "1、28V电源               设置  输出=ON；\r\n"
                                   "2、接收输出端口（XS5）    连接  INput 50Ω端口；\r\n"
                                   "3、发射输出端口（XS9）    连接  探头端口；\r\n",
                      "", "确定", "")
            zbb参数.上一次测试项目 = "压缩1dB点"
        zbb工步.设置增益通道(通道=0, 增益频率=156)
        zbb工步.设置增益通道(通道=通道值, 增益频率=108)
    延时(1)
    设置功率模式频点("AM",频率)
    信号源1.设置频率比对(频率, 频率)
    信号源1.设置幅度(-30)
    频谱仪1.设置参考幅度(20)
    延时(3)
    频谱仪1.设置寻峰值()
    峰值=频谱仪1.读幅度()
    电平30dB=按值转换(峰值,0.1,0)
    G=电平30dB+30
    项目="压缩1dB点('"+通道+频率+"')"
    if G<8:
        判断合格保存(项目+'增益',G,8)
    频谱仪1.设置参考幅度(25)
    for i in range(0,15):
        信号源1.设置幅度(i)
        延时(0.5)
        频谱仪1.设置寻峰值()
        峰值=频谱仪1.读幅度()
        电平=按值转换(峰值,0.1,0)
        增益=电平-i
        print(str(G),增益)
        输出幅度=i
        if 增益<G-1:
            break;
    判断合格保存(项目,输出幅度,8)
        

if __name__=='__main__':
    pass
    # 压缩1dB点测试初始化()
    压缩1dB点("XS5",108)
    # 压缩1dB点("XS5",400)